added more improvements, check diff/blame