fix some bug in disign