Refactoring, up to number seven.
Adding some missing files
Updated #8
Updated #9
Updated #10
Updated #11
Updated #12
Updated #13
Updated #14
Updated #15
Updated #16