functional space planning