add some files and edit some methods