some good design progress