added reciprocal support