better force directed layouter