initial design commit
fixed merge conflicts