implement basic login form with button state