extensive changes for testing