first guice integration and rework