Should there be an ``else``? Should this return a boolean instead and be more generic?