fleshing out the structure a bit