GitHub Issue #2 - spare pieces initial implementation; still have some bugs to work out