rewrite to use common solve method