implemented map + minor modifs discover