add beforeGetItem and afterGetItem method