move css detection to file
optimize && zoom
use callback fn