added width and height descriptors as options
Tidied up some points, renamed var returns