Tidied up module interface