Revert "changing internal structure without change the behavior"

This reverts commit 566b74410b6faf6e64f3a6454f581fa1e90b5461.