changed over to OO