divided and commented code