refactored depends with micromachine