refactored filestructure and added some documentation