committed by moonights

some bugs
replace template