Looks like a working version.
Moved some files, changed some functions