more items
total rewrite, this is a lot less complicated