refactor and add installtion