- adjusted comments
- adjusted some { }
- included only necessary header files and used forward declaration