added dependency tracking