Corrected bug in shadow calculation

Also, made some previously public methods - like seal - protected