Completed most structure and functionality