finished first working draft of oop