first commit, lots of changes