Added comments, use case, etc