updated usage and project structure