This logic should be in Beat