added functional atomic
added functional atomic