Added rough of 3rd version, before refactoring
WIP
Finished
Finished and cleaned