must use select or it will burn cpu