fix bug singleton