[#4] Now fully functional