optimization

use css transitions
minor optimization