* Show errors in UI * required some extensive refactoring to use done/fail on promise rather than then