so much refactor