Edited with comments