Fix #16 #17 #18.