adding new files and a few modifications