merge from jason's code
merge jason's code
merge from bowen
bowen fix bug
merge from bill
merge
mockup