This seems to work. Perhaps cache in the future?