Shu-Osher implementation