Source is now split in three files

please merge