automation frame work