added button control oop