First attempt. Still need to be smoke-tested.