my changes

hope you like. let me know if there's anything you think I should change. seems to be working well. many improvements throughout my commits.