added functionality and css