added additional operations