Initial commit, it's a mess but everything needed so far is there