move iterator impl to seq