Refactoed common methods in corresponding_base, added spec for use cases