my template (generic) library