Lots of additions and file moves