got inspired by the xmlm OPAM package