This is my midterm task :D hope you enjoy !