now with decrement, and a special reader class