修复bug. TODO:marshal