design changes
fixed merge conflict
fixed conflict error AGAIN