convert to instance methods, make bidirectional