added overloads to convert an entity into an operation
added a bunch of tests