module interface concept