Basic framework.