added program model and views