Do not use backreference, it's just a waste of mem for too small cpu saving