some views and base logic