added capitalization, prefix, and suffix checks