added filter and changed package structure