moved singleton::create_instance() to header