Object oriented

can't move, but moved things to OO style