added functionality plus styling