added button
overall function