Fix a lot of bug, Update Design