drag rotates view. scratch matrix
onward
some refactoring