todo: finish map loading