support for strings and stricter type checking