working on bringing RM into OOP