Nice contribution.

@everyone it's rude to take the code without commenting on it.
Please post some replies.