-refactoring of singleton concept