I think these guys need more descriptive names.

Also, test please? I want to see the different behaviors.