added piecewise_construct

added piecewise_construct and piecewise_construct_t