bug fixed layout optimized