shared stuffs for