based off of Filter, removed explicit __init__, intermediate lang field