many sequence functions implemented