use webassets and coffeescript
refactor angular code, fix up API