basic sharrre implementation