a bit more grouping and documentation