Add ArgumentMarshaler and Refactor Boolean Part