re-organized Angular front-end