more granular and readable code