some adjustments by Paracel