Updated to use handlers