added merge and other methods