First code submit, there will need a lot of cleaning needed from now on, be patient