changed to follow singleton pattern