ppsolving