adde normal singleton pattern