Completely untested
Parts only