hover and transition effects added