dissociating argument struct and internal struct

Options structure is now dissociated from internal structure.
It will make easier to maintain ABI stability.