[Waterstrong]: add singleton