if you add main func, other func will be hide, so should be export