added smooth transition