added framework and generic framework