further refactor for streamlining the init logic