separation between solver and helper