changed all isXXX attributes into methods and added record.isOnEShelf()