removed self referencing requirement