rearrange inputs
add density