assume that all requested words are already upper
adding profiling
shifting test logic, maybe small performance shift?