reduce dependency