surrogate key refactor