better code organisation