Added equality and optional parrameters