Finished main logic, need to implement the main class