using guice for dependency management