simplify API, get rid of mmorph