use more effective lookup method