add test
refactoring of spec
original args also passed to before/after proc
more specs