Refactor run and usage