implement add function for all media