This template is more robust