hopefully final design
further redesign