Lab 4 Non circular implementation