added button interrupt. kind of doesnt work