handlers finish in reverse order