add ability to filter out direction

I like that these are all mutually exclusive and not a bitfield. That makes it hard to do the wrong thing! :+1: