That's were all the task for the simple lift controller. Below you find a solution for the last task. But there is always room for improvements. Here are just some examples one could do to improve or expand the lift controller: * Use more appropriate data structures like a queue * Parsing the command-line arguments to determine the requests * Change it to work with arbitrary amounts of time-steps * Implement different phases like moving to a different floor and waiting at a floor with a State Machine This is just some ideas we have you could try, if you gathered more experience. For that you could try out the C-Basic course or find coding resources on your own.