added tempo member and implementation