Close #257
Close #254
Fix #250