use some instead of array, make some string parsers