added a lot of stuff, espc. filter input