need update marshall method