I'm wondering if it would be better to throw an exception instead of return null. WDYT?