Ok, now to refactor..