Refactoring part 1
add many gradients
Update UI