many changes which will be explained in next commit
View differences: inline side by side
Also available in: Unified diff
many changes which will be explained in next commit