implement ignore options (and some other related changes)
Merge branch 'ignoreopts'