added filter and some unwriten methods