words now generated dynamically