definitions for new solve method