update

upload mark and singleton