manually fixed some conflicts because of fail merge