added assumptions