issue #23 and issue #27 done.