Added a lot of logic, updated assets, optimised