added relationship annotations and private vars