add payload requirement check
fix bad method call