refs #10088 Mainly done, checks and optimization is needed