add keyboard control and filter