Better implementation, in my oppinion