First commit of draft implementation.