With api and button(should connect both)