We should try to add at least a brief explanation of what's the purpose of each method.