added add piece methods and tweaked a few methods