Removed unhelpful exceptions and leaky returns

Also cleaned up a lot of messiness from old implementation.