add sunlight
add tests
WIP