issue #68, #67, #72 done