new solve method