cleaned up
cleaned up
better reversing support
cleaned up
cleaned up
rewritten filter

might be way off