exercises and practise, inspired by MIT Algo course