Many changes using spring for DI