Edited for non-ARC