extracted view to its own file