don't depend on Array#filter