first implementation of general item form