Reogranized file structure, added documentation