integrated with Spring