how it works and buttons stuff