refactor

-- incapsulate some vertex/edges functions in graph
-- generalize method for options printing
-- make static function for edge's name generation