Added support for bidirectional mapping