the first fully working ocaml class