Scrub

Let me know what you think! @mohit @jonahkagan 

(this is going to branch pr_onto because my first few commits went to master and so you wouldn't see the full PR. Once we merge this to pr_onto we can set it as master)
I have done something like that (I think). We have string functionality. 4263a72