[20-11-13] Some comments added, readability improved.