start moving methods into shared module