a bit more readable code