Added broken catch; re-implementing after OOP