removed singleton pattern