Broke implementation into more files, started to add file sharing capacities