logic and view