main and map