added circular relationship error and testing