template solution