added sequence interface