add pop animation, objection DI framework