update to spm 2.1
reinit
add grunt
update
s
要睡了，明天再写
fix substitute