edited methods to work with singleton