reworked some design