Refactored for consistant use of custom assertions throughout