different approach using angular as the front-end