Close #1220
Close #961
Close #1319