initial basic framework