implementing another way to implement varients