adding more marshal funcs
using new marshal funcs