several basic frameworks