finished converting to OO