Fixed#3 Fixed#12 Fixed#23