improved version of Spring