Finished some design, starting logic