initial driving logic written