refactor viewport and transform methods out for now