added commentery and headers