casting, up casting and down casting