using CGRect convenience methods instead of direct struct access