add piece function