fleshed out the prototype