retry ability
some linting
clean mess up