refactored, added view transform block