add Error model and PushClient model
add payload
add example