layout calculation
edge basics