try diff method

try explicit marshaling

add logging