A basic framework