refactored to include copyright parameter