- describe button simulation implementation