refactoring to ngpanwei