use inline function to allocate structs
add "atom" atom
add force copy