Directory structure
Implement the core concept

close #1