refactor *int functions
refactor groups function
refactor #from-string