basic model and ideas