Lots of changes and new files