finished it in one go \! no compiler errors or bugs :)