merge hsuan's change