added this to ignore that the return statement at the very end is unreachable