merged 2 main parts