constructor dependency resolution + tests