set shared, public and free