something of a basic framework