mostly working total partials