more defensive map drawer