fleshed out the structure a bit more