end framework