Reogranized project structure and added some more documentation