added single instance feature