Version without comments, and some minor bugs
Some comments, could be finished