adding better project structure