added module interface