Flushed out experimental implementation (untested)