smart member implemented