Minor changes
select: refactor
modules: minor refactoring

also add a new function, that is untested.