Better exception handling and feedback.
Adds preserve aspect ratio option