minimal api change
added forward and backward distinction filters
added up and compose operator