different filter modes for different options
updated TODO