Begun clean up. Is probably in a broken state now :)