added field and shadow casting