large refactor
use from imports rather than module imports
rename sequences.py to iterators.py
add a common module for shared functions