move commands to cmd directory
format both commands to behave similary
Add a "sponge" reader and writer

And make old method use them.
small optimizations
make Reset methods useful