Completed protocol implementation. Only new files are supported currently. Changes can have weired behavoir