Nice job! This project is deceptively complex.