organize dependency code