switch to autowired constructors