final code used in workshop