added dependency support to operation and ambiguous type declare
added test project