clean up some comments and remove unneeded include
refactor gp so it can dynamically use different groups of characters
update readme