Moved to individual files and commented