new definitions and operations