implementing marsh functionnality