idea for edge class