Updated with synchronous rendering