Fix #4, supports ignorecase option