maybe used with Spring