I ended up implementing something similar just to avoid the repeat removeAt and lower()