add oops & test suite