note instantiation requirements