added documentation and basic file structure