Fleshed out my informal requirement specification.