Bringing over changes from objective4