Yup, time for a refactor :)