Fixing some bug and Improving Design!