workable, but still very raw. Needs better error checking, etc.