add cast expression support