Final submission (still with errors :( )