updating with function based bits