update project structure
implement args parsing