changed inner moduel structure