added my version of assign 3