modify from springside-core