simplified the button component