all my changes so far as one pull request

here ya go, I hope its what was supposed to be done...