Rough rough draft of implementation.