library template without cluttering the dependencies