add aspectRatio and toString