Added much more functionality and comments

Thanks for the great start! I will be continually improving this class.