try-catches for safety