added: writable items, error item, a lot of refactoring