refactor E1 and E2 into primer