Issue #71, merge with original