separated graph elements positions implementation
edges position are always calculated dynamically . also removed some useless code