Complete #57 implementation