updated: align with latest upstream.