First pass for issue #25