changes for separate compilation in ocaml