add ui router and refactor edition + have a abstract state -> controller & children states -> template -> directive(s) -> template&controller architexture