updated design, removed design bugs