Error handling included.