comprehensive put() tests, made put() more robust