remade is_availalbe function