init the proper one