Final project implementation for CSE535