Rearranged files and added dependencies