lots of polish Item.pm; HTTP/JSON error handling