Implement Lightwell, with tests