make style respond to focus state
make components to accept custom CSS classes