parser singleton pattern