more changes to singleton