add template singleton tool class