better type detection
adding more comments
adding licsence headers
code clean.  less code, Yea
DRY out some code
code formatting
more code cleanup