implemented a shadow