add ball reset and various fixes