Initial commit
Almost done. Time measuring.
Finished
Finished
Last improvements