add and implement loan decorator