declare operations