added possible singleton and two more methods