added seperate controllers and servises with DI