why we are generating these here when we can define it on top :D