keep coordinates internally in float