Updated so that non-existent mappings will return null for any type of mapping. Added some more tests