adds support for O*M other than activerecord