differentiate between require and direct call