filters need much more work, commented out some experimental code