better metadata def