starting to implement variations