updated with working transform