use casting binding instead of non-casting