improved can_be?