moved filter out to spereate module