fix #27, #43, #48, #49, #50