added Edge type
code refactoring - optimized project structure