added more functionality as I am finishing my classes.

I have added a lot more. Too much for one comment