removed constructor, singleton implemented