updated to return payload