added promises and ioc conatainer and aop stuff