refactor init/install and add params class