use floats for positions