a common framework