First draft implementation.