tmp hold -- needs to be debugged (logic :-( )