finish initial functions
update documents