more readable code
why dots?