Initial commit, still very dirty, unlinted code