fixed implementation and spacing