Nearly finished

made a lot of changes