give up on the template static pointer for the singleton