A prototype. Currently in progress.