hoffman: singleton