Update After review + adding some tests