My standard framework for generic purposes