Refactored Sheet to be more flexible