One of the biggest challenges i faced was implementing a psuedo-terminal emulator from scratch for the first time and building the different Terminal-UI components to connect the backend to the frontend. I explored different aspects such as file descriptor and buffer manipulation, ANSI escape code parsing and gained a better understanding of how terminals work. I also implemented different design patterns, learning and incorporating OOP concepts such as dependency injection and inheritance. Overall, I still feel that the final product was not representative of the full list of features in the initial proposal, however the core and most important features (e.g. keyboard handling, splitting windows, command line) have been implemented. Possible extensions could include color displays and restorable "sessions", however due to time constraints i was unable to implement them. I am proud of myself for gaining a deeper understanding of how terminal multiplexers such as tmux actually work and have gained a newfound respect for developers of such technologies. Overall, I am satisfied with the project and plan on hope to extend it in the future.