Finished basic methods and getAvailableSlot