Added lval struct for ease of error handling