based on Yeoman, angular