Why can't I implement this the nice way?