hasEmptySlot better