use eager singleton init since it's essentially free
synchronize getInstance