Add FilterChain and update tests