add partial functional method