add singleton pattern into the list