made all contexts and actions generic