use factories to DRY out item construction