Working version with string and integer support.