added an options hash and stuff
I can't tell if this is progress.. :P