conversion is now bidirectional