finished hasFreeSlot()