working on the overall structure... again...