reimplement and expand word list