Minor note: No need to use `singleton`