Update to use angular and a bunch of other awesome stuff