add support for most item types, some bugs