make register singleton