edit factory.py
steps for singleton