Merged some files, NOT TESTED!!!