finish basic structure, no bugs, yay!