Read the comments inside. Advised to read main loop first. Please comment if you have any questions. Can use any code from this project since it is a bare framework