Issues #26 , #27 and #28 implemented