change reducible? tests to spec style
add machine with step and run methods