no longer throwing errors, always returning something