Close #304 Close #303 Close #297