Cleaning up and first usable version