modularized dependencies