implementing Events and Filter classes