this program doesnt satisfy my last task condition