working on op handling. all tests passing