first cut at MLObj