add closures and final touches