optimize dependency