added nested module definitions