framework and examples