implemented sharing (maybe)