added initial variation functionality (to add)