Implement #312