I need to edit this some, a few errors here and there, but overall on point.