pretty much done on the return value case