Split BasicCall() into three functions.