Implementation is now somewhat half finished.