add default sender capability, tune the APIs little bit