rewrite using Angular
update dependencies