casting and mirroring