refactor and enhance
add solve buttons
add multiple solves