initial commit with basic project structure