clumsy implementation of: put, reserve