controller logic refactored, proces is now injected in c-tor