library with the template structure