example framework