contents has been refactored