added ui functionailty and css transitions