button method added; async map_input added