New features added

#20 #19 #18 #16 #15 #14 #13 #10