why not just return instead of carrying this crap all through the end?