TO DO 
   - OOM handling is only half-way implemented
   - Case sensitivity too strict, probably
