change first-child, last-child to .first, .last so user can use semantic markup instead of wrapping divs