add partial function