parser protocol, error when data nil