fixed singleton implementation to hide the constructor(concurrency in previous commit)