Added lazy lighting, and simplified shape getting (Pointed out by Triavanicus)