Add singleton pattern