modified module interface