the 'fixed' refactor