Saturday's work

lots of improvements, just look at the code