Author: Andrew Neuman &#12450;&#12531;&#12489;&#12522;&#12517;&#12540;&#12491;&#12517;&#12540;&#12510;&#12531;