full complete func.