commit singleton pattern