final exercises split into 2 files