Interface tidyup and documentation