more documentation..
- validation (in middle)