encapsulated sunlight stuff in a separate module