add get_instance function