refactor and using rpm directly instead of zip