2nd
almost finished, except map