items logic