update views and logic