Implement everything but execute and execute_remote