making things better, time to refactor