Fleshed out a possible implementation