update singleton pattern impls