explore into a working state, I guess ruby does not support ++