implementing buttons