implemented everything... reason for only one commit is the fact I did a huge portion of this on the bus from Chicago this weekend.
Merge pull request #1 from continnd/master

implemented everything... reason for only one commit is the fact I did a...