added modular structure