Added override for default map constructor and added some basic type checking and error throwing.