organizing shared code