interface and view