modified to use ListView