General methods for MDO