More work on self documenting interface