refactor supersequence