basic structure and automation passing