implemented new button as lazily as possible
exit cannot be implemented due to security reasons