RE : Light Shelf Reflections

Dear Colleagues,

My sincere thanks to Andy and everyone else who have tried to help me in
the last few days with my light shelf reflection problem. Finally I have
some results which are more convincing:

The directionality (surface normal) of the the ceiling mirror surface seem
to be one of the major things that was throwing me off. My next step is to
import the values of these multiple reflections on to a simulation grid so
that I can plot them as a graph.

Your support meant much to me.
Shamim.

···

On Fri, Mar 15, 2013 at 8:17 PM, Shamim Javed <[email protected]> wrote:

Please see the following:
https://www.dropbox.com/s/e2kacbqnbvgw7dc/LS%20Reflection_15mar.pdf

I have tried to document my steps... no success as yet. Will keep
trying...

Shamim.

On Fri, Mar 15, 2013 at 7:00 PM, Andrew McNeil <[email protected]> wrote:

Shaim,
Can you try typing the commands I sent directly at the dos prompt?
That would tell us if it is a problem with the outdated version of
Radiance you are using or if it is a problem with the Ecotect Radiance
Control Panel. I still think it is a problem with the latter as the
commands settings didn't get into the header created by Radiance.

I'd rather determine if Ecotect related software is the cause now, rather
than going further assuming that it is Radiance (which I doubt, but I am
biased).

Andy

On Fri, Mar 15, 2013 at 3:45 PM, Randolph M. Fritz (i) < >> [email protected]> wrote:

1998 is pretty old--it's possible we're giving you advice for newer
versions.

NREL has a newer release of Radiance for Windows. I'm pretty sure you
can hook it up with Ecotect, but I'm not sure exactly how. Anyone done
this?

Randolph

On 2013-03-15 20:19:41 +0000, Shamim Javed said:

I looked at the files generated by Radiance via Ecotect and it looks

like the version of Radiance it is using is 3.1.8. Here is a copy of one
of the files generated:

"#?RADIANCE
oconv mirror_scorrected_sky.rad mirror_scorrected.rad
rpict -t 120 -vth -vp 9.628 4.564 6.510 -vd -1.701 0.360 -0.007 -vu 0 0
1 -vh 180 -vv 180 -vs 0 -vl 0 -dp 1024 -ar 45 -ms 0.17 -ds .3 -dt .1 -dc .5
-dr 1 -sj .7 -st .1 -ab 4 -af RCP.amb -aa .2 -ad 400 -as 64 -av 0.01 0.01
0.01 -lr 6 -lw .002 -i -x 64 -y 64 -ps 1
SOFTWARE= RADIANCE 3.1.8 lastmod Thu Sep 17 20:49:56 PDT 1998 by
droberts on escher"

On Fri, Mar 15, 2013 at 2:22 PM, Randolph M. Fritz (i) < >>>> [email protected]> wrote:
On 2013-03-15 15:17:59 +0000, Shamim Javed said:

I tried to replicate your simulation image (using Radiance via Ecotect)
but without success so far.

Where did you get your copy of Radiance? Do you know what version it is?

If not, "getinfo foo.hdr" will identify the version of Radiance that
generated foo.hdr.

Randolph

______________________________**_________________
Radiance-general mailing list
Radiance-general@radiance-**online.org<[email protected]>
http://www.radiance-online.**org/mailman/listinfo/radiance-**general<http://www.radiance-online.org/mailman/listinfo/radiance-general>

______________________________**_________________
Radiance-general mailing list
Radiance-general@radiance-**online.org<[email protected]>
http://www.radiance-online.**org/mailman/listinfo/radiance-**general<http://www.radiance-online.org/mailman/listinfo/radiance-general>

--
Randolph M. Fritz

______________________________**_________________
Radiance-general mailing list
Radiance-general@radiance-**online.org<[email protected]>
http://www.radiance-online.**org/mailman/listinfo/radiance-**general<http://www.radiance-online.org/mailman/listinfo/radiance-general>

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Andy,

How could you tell by just looking at the numbers that my ceiling surface
normal was facing up?

I am trying to import the results of the radiance simulation (with bands of
light hitting the floor) on to an analysis grid to finally generate an
illumination graph that would have progressive 'bumps' reflecting these
light bands. https://www.dropbox.com/s/owvm7gqtamicdou/analysis%20grid.pdf
Any suggestions on an effective way of doing this would be much appreciated.

My radiance image has a distinct raddish tint unlike yours which came out
with much more natural colors. Any thoughts how I may improve this?

Shamim.

···

On Fri, Mar 15, 2013 at 7:18 PM, Andrew McNeil <[email protected]> wrote:

one more thing - can you double check that the ceiling surface normal is
still facing downward (and that you didn't re-export geometry from
ecotect). It seems odd that there is one reflection of the the floor but
none off the ceiling (the light that gets to the floor comes straight
through the window and misses the light shelf). There should be the same
number of reflections from both.

Andy

On Fri, Mar 15, 2013 at 4:00 PM, Andrew McNeil <[email protected]> wrote:

Shaim,
Can you try typing the commands I sent directly at the dos prompt?
That would tell us if it is a problem with the outdated version of
Radiance you are using or if it is a problem with the Ecotect Radiance
Control Panel. I still think it is a problem with the latter as the
commands settings didn't get into the header created by Radiance.

I'd rather determine if Ecotect related software is the cause now, rather
than going further assuming that it is Radiance (which I doubt, but I am
biased).

Andy

On Fri, Mar 15, 2013 at 3:45 PM, Randolph M. Fritz (i) < >> [email protected]> wrote:

1998 is pretty old--it's possible we're giving you advice for newer
versions.

NREL has a newer release of Radiance for Windows. I'm pretty sure you
can hook it up with Ecotect, but I'm not sure exactly how. Anyone done
this?

Randolph

On 2013-03-15 20:19:41 +0000, Shamim Javed said:

I looked at the files generated by Radiance via Ecotect and it looks

like the version of Radiance it is using is 3.1.8. Here is a copy of one
of the files generated:

"#?RADIANCE
oconv mirror_scorrected_sky.rad mirror_scorrected.rad
rpict -t 120 -vth -vp 9.628 4.564 6.510 -vd -1.701 0.360 -0.007 -vu 0 0
1 -vh 180 -vv 180 -vs 0 -vl 0 -dp 1024 -ar 45 -ms 0.17 -ds .3 -dt .1 -dc .5
-dr 1 -sj .7 -st .1 -ab 4 -af RCP.amb -aa .2 -ad 400 -as 64 -av 0.01 0.01
0.01 -lr 6 -lw .002 -i -x 64 -y 64 -ps 1
SOFTWARE= RADIANCE 3.1.8 lastmod Thu Sep 17 20:49:56 PDT 1998 by
droberts on escher"

On Fri, Mar 15, 2013 at 2:22 PM, Randolph M. Fritz (i) < >>>> [email protected]> wrote:
On 2013-03-15 15:17:59 +0000, Shamim Javed said:

I tried to replicate your simulation image (using Radiance via Ecotect)
but without success so far.

Where did you get your copy of Radiance? Do you know what version it is?

If not, "getinfo foo.hdr" will identify the version of Radiance that
generated foo.hdr.

Randolph

______________________________**_________________
Radiance-general mailing list
Radiance-general@radiance-**online.org<[email protected]>
http://www.radiance-online.**org/mailman/listinfo/radiance-**general<http://www.radiance-online.org/mailman/listinfo/radiance-general>

______________________________**_________________
Radiance-general mailing list
Radiance-general@radiance-**online.org<[email protected]>
http://www.radiance-online.**org/mailman/listinfo/radiance-**general<http://www.radiance-online.org/mailman/listinfo/radiance-general>

--
Randolph M. Fritz

______________________________**_________________
Radiance-general mailing list
Radiance-general@radiance-**online.org<[email protected]>
http://www.radiance-online.**org/mailman/listinfo/radiance-**general<http://www.radiance-online.org/mailman/listinfo/radiance-general>

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

The most direct way to derive the surface normal direction of a polygon is to simply look at the draw order of the polygon's vertices. Radiance polygons follow the "right hand rule", which means that a polygon that is planar to the x,y and drawn in a counter-clockwise fashion will have the surface normal running along the positive z axis.

···

Sent from my iPad

On Mar 16, 2013, at 11:43 PM, Shamim Javed <[email protected]> wrote:

Andy,

How could you tell by just looking at the numbers that my ceiling surface normal was facing up?

I am trying to import the results of the radiance simulation (with bands of light hitting the floor) on to an analysis grid to finally generate an illumination graph that would have progressive 'bumps' reflecting these light bands. https://www.dropbox.com/s/owvm7gqtamicdou/analysis%20grid.pdf
Any suggestions on an effective way of doing this would be much appreciated.

My radiance image has a distinct raddish tint unlike yours which came out with much more natural colors. Any thoughts how I may improve this?

Shamim.

On Fri, Mar 15, 2013 at 7:18 PM, Andrew McNeil <[email protected]> wrote:

one more thing - can you double check that the ceiling surface normal is still facing downward (and that you didn't re-export geometry from ecotect). It seems odd that there is one reflection of the the floor but none off the ceiling (the light that gets to the floor comes straight through the window and misses the light shelf). There should be the same number of reflections from both.

Andy

On Fri, Mar 15, 2013 at 4:00 PM, Andrew McNeil <[email protected]> wrote:

Shaim,
Can you try typing the commands I sent directly at the dos prompt?
That would tell us if it is a problem with the outdated version of Radiance you are using or if it is a problem with the Ecotect Radiance Control Panel. I still think it is a problem with the latter as the commands settings didn't get into the header created by Radiance.

I'd rather determine if Ecotect related software is the cause now, rather than going further assuming that it is Radiance (which I doubt, but I am biased).

Andy

On Fri, Mar 15, 2013 at 3:45 PM, Randolph M. Fritz (i) <[email protected]> wrote:

1998 is pretty old--it's possible we're giving you advice for newer versions.

NREL has a newer release of Radiance for Windows. I'm pretty sure you can hook it up with Ecotect, but I'm not sure exactly how. Anyone done this?

Randolph

On 2013-03-15 20:19:41 +0000, Shamim Javed said:

I looked at the files generated by Radiance via Ecotect and it looks like the version of Radiance it is using is 3.1.8. Here is a copy of one of the files generated:

"#?RADIANCE
oconv mirror_scorrected_sky.rad mirror_scorrected.rad
rpict -t 120 -vth -vp 9.628 4.564 6.510 -vd -1.701 0.360 -0.007 -vu 0 0 1 -vh 180 -vv 180 -vs 0 -vl 0 -dp 1024 -ar 45 -ms 0.17 -ds .3 -dt .1 -dc .5 -dr 1 -sj .7 -st .1 -ab 4 -af RCP.amb -aa .2 -ad 400 -as 64 -av 0.01 0.01 0.01 -lr 6 -lw .002 -i -x 64 -y 64 -ps 1
SOFTWARE= RADIANCE 3.1.8 lastmod Thu Sep 17 20:49:56 PDT 1998 by droberts on escher"

On Fri, Mar 15, 2013 at 2:22 PM, Randolph M. Fritz (i) <[email protected]> wrote:
On 2013-03-15 15:17:59 +0000, Shamim Javed said:

I tried to replicate your simulation image (using Radiance via Ecotect) but without success so far.

Where did you get your copy of Radiance? Do you know what version it is?

If not, "getinfo foo.hdr" will identify the version of Radiance that generated foo.hdr.

Randolph

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

--
Randolph M. Fritz

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

I do not know if radiance supports 'analysis grid' or its equivalent but if
it did, can I suspend one in 'mid-air' (say one at 30" off the floor) and
expect to get illuminance values off it? Can it be a two-sided grid
registering both the light coming off the ceiling and the floor? The
referenced file may explain my question a bit more:

Shamim.

···

On Sun, Mar 17, 2013 at 11:20 AM, Rob Guglielmetti < [email protected]> wrote:

The most direct way to derive the surface normal direction of a polygon is
to simply look at the draw order of the polygon's vertices. Radiance
polygons follow the "right hand rule", which means that a polygon that is
planar to the x,y and drawn in a counter-clockwise fashion will have the
surface normal running along the positive z axis.

Sent from my iPad

On Mar 16, 2013, at 11:43 PM, Shamim Javed <[email protected]> wrote:

Andy,

How could you tell by just looking at the numbers that my ceiling surface
normal was facing up?

I am trying to import the results of the radiance simulation (with bands
of light hitting the floor) on to an analysis grid to finally generate an
illumination graph that would have progressive 'bumps' reflecting these
light bands.
https://www.dropbox.com/s/owvm7gqtamicdou/analysis%20grid.pdf
Any suggestions on an effective way of doing this would be much
appreciated.

My radiance image has a distinct raddish tint unlike yours which came out
with much more natural colors. Any thoughts how I may improve this?

Shamim.

On Fri, Mar 15, 2013 at 7:18 PM, Andrew McNeil <[email protected]> wrote:

one more thing - can you double check that the ceiling surface normal is
still facing downward (and that you didn't re-export geometry from
ecotect). It seems odd that there is one reflection of the the floor but
none off the ceiling (the light that gets to the floor comes straight
through the window and misses the light shelf). There should be the same
number of reflections from both.

Andy

On Fri, Mar 15, 2013 at 4:00 PM, Andrew McNeil <[email protected]> wrote:

Shaim,
Can you try typing the commands I sent directly at the dos prompt?
That would tell us if it is a problem with the outdated version of
Radiance you are using or if it is a problem with the Ecotect Radiance
Control Panel. I still think it is a problem with the latter as the
commands settings didn't get into the header created by Radiance.

I'd rather determine if Ecotect related software is the cause now,
rather than going further assuming that it is Radiance (which I doubt, but
I am biased).

Andy

On Fri, Mar 15, 2013 at 3:45 PM, Randolph M. Fritz (i) < >>> [email protected]> wrote:

1998 is pretty old--it's possible we're giving you advice for newer
versions.

NREL has a newer release of Radiance for Windows. I'm pretty sure you
can hook it up with Ecotect, but I'm not sure exactly how. Anyone done
this?

Randolph

On 2013-03-15 20:19:41 +0000, Shamim Javed said:

I looked at the files generated by Radiance via Ecotect and it looks

like the version of Radiance it is using is 3.1.8. Here is a copy of one
of the files generated:

"#?RADIANCE
oconv mirror_scorrected_sky.rad mirror_scorrected.rad
rpict -t 120 -vth -vp 9.628 4.564 6.510 -vd -1.701 0.360 -0.007 -vu 0
0 1 -vh 180 -vv 180 -vs 0 -vl 0 -dp 1024 -ar 45 -ms 0.17 -ds .3 -dt .1 -dc
.5 -dr 1 -sj .7 -st .1 -ab 4 -af RCP.amb -aa .2 -ad 400 -as 64 -av 0.01
0.01 0.01 -lr 6 -lw .002 -i -x 64 -y 64 -ps 1
SOFTWARE= RADIANCE 3.1.8 lastmod Thu Sep 17 20:49:56 PDT 1998 by
droberts on escher"

On Fri, Mar 15, 2013 at 2:22 PM, Randolph M. Fritz (i) < >>>>> [email protected]> wrote:
On 2013-03-15 15:17:59 +0000, Shamim Javed said:

I tried to replicate your simulation image (using Radiance via
Ecotect) but without success so far.

Where did you get your copy of Radiance? Do you know what version it
is?

If not, "getinfo foo.hdr" will identify the version of Radiance that
generated foo.hdr.

Randolph

______________________________**_________________
Radiance-general mailing list
Radiance-general@radiance-**online.org<[email protected]>
http://www.radiance-online.**org/mailman/listinfo/radiance-**general<http://www.radiance-online.org/mailman/listinfo/radiance-general>

______________________________**_________________
Radiance-general mailing list
Radiance-general@radiance-**online.org<[email protected]>
http://www.radiance-online.**org/mailman/listinfo/radiance-**general<http://www.radiance-online.org/mailman/listinfo/radiance-general>

--
Randolph M. Fritz

______________________________**_________________
Radiance-general mailing list
Radiance-general@radiance-**online.org<[email protected]>
http://www.radiance-online.**org/mailman/listinfo/radiance-**general<http://www.radiance-online.org/mailman/listinfo/radiance-general>

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Shamim.

You can export the analysis from Ecotect (it becomes a list of xyz coordinates with normal direction vector of that sensor). You can then use rtrace to calculate your illuminance values. You will need to create two grid files, one with normal vectors pointing up (0 0 1) for light arriving from the ceiling and a grid with normals pointing down (0 0 -1) for light bouncing off the floor.

Using the "Final Render" option in the Radiance Analysis/Export panel of Ecotect allows you to assign a grid ("Generate Point Data" check box). If you are using radiance from the command line rather than the Ecotect interface, the best way I've found to save a grid file is to set the output to "Daysim header" and uncheck "Auto-run Daysim". The analysis grid will be in the specified folder, saved as a .pts file.

I suggest looking through this tutorial for step by step guidance. http://www.gsd.harvard.edu/research/gsdsquare/Publications/GettingStartedwithEcotectRadianceDaysim.pdf

Best of luck.

Chris Coulter
Senior Lighting Designer
Buro Happold Consulting Engineers
100 Broadway, 23rd Floor
New York, NY 10005

···

From: Shamim Javed [mailto:[email protected]]
Sent: Monday, March 18, 2013 8:48 AM
To: Radiance general discussion
Subject: Re: [Radiance-general] RE : Light Shelf Reflections

I do not know if radiance supports 'analysis grid' or its equivalent but if it did, can I suspend one in 'mid-air' (say one at 30" off the floor) and expect to get illuminance values off it? Can it be a two-sided grid registering both the light coming off the ceiling and the floor? The referenced file may explain my question a bit more:

Shamim.

On Sun, Mar 17, 2013 at 11:20 AM, Rob Guglielmetti <[email protected]<mailto:[email protected]>> wrote:
The most direct way to derive the surface normal direction of a polygon is to simply look at the draw order of the polygon's vertices. Radiance polygons follow the "right hand rule", which means that a polygon that is planar to the x,y and drawn in a counter-clockwise fashion will have the surface normal running along the positive z axis.

Sent from my iPad

On Mar 16, 2013, at 11:43 PM, Shamim Javed <[email protected]<mailto:[email protected]>> wrote:
Andy,

How could you tell by just looking at the numbers that my ceiling surface normal was facing up?

I am trying to import the results of the radiance simulation (with bands of light hitting the floor) on to an analysis grid to finally generate an illumination graph that would have progressive 'bumps' reflecting these light bands. https://www.dropbox.com/s/owvm7gqtamicdou/analysis%20grid.pdf
Any suggestions on an effective way of doing this would be much appreciated.

My radiance image has a distinct raddish tint unlike yours which came out with much more natural colors. Any thoughts how I may improve this?

Shamim.

On Fri, Mar 15, 2013 at 7:18 PM, Andrew McNeil <[email protected]<mailto:[email protected]>> wrote:
one more thing - can you double check that the ceiling surface normal is still facing downward (and that you didn't re-export geometry from ecotect). It seems odd that there is one reflection of the the floor but none off the ceiling (the light that gets to the floor comes straight through the window and misses the light shelf). There should be the same number of reflections from both.

Andy

On Fri, Mar 15, 2013 at 4:00 PM, Andrew McNeil <[email protected]<mailto:[email protected]>> wrote:
Shaim,
Can you try typing the commands I sent directly at the dos prompt?
That would tell us if it is a problem with the outdated version of Radiance you are using or if it is a problem with the Ecotect Radiance Control Panel. I still think it is a problem with the latter as the commands settings didn't get into the header created by Radiance.

I'd rather determine if Ecotect related software is the cause now, rather than going further assuming that it is Radiance (which I doubt, but I am biased).

Andy

On Fri, Mar 15, 2013 at 3:45 PM, Randolph M. Fritz (i) <[email protected]<mailto:[email protected]>> wrote:
1998 is pretty old--it's possible we're giving you advice for newer versions.

NREL has a newer release of Radiance for Windows. I'm pretty sure you can hook it up with Ecotect, but I'm not sure exactly how. Anyone done this?

Randolph

On 2013-03-15 20:19:41 +0000, Shamim Javed said:
I looked at the files generated by Radiance via Ecotect and it looks like the version of Radiance it is using is 3.1.8. Here is a copy of one of the files generated:

"#?RADIANCE
oconv mirror_scorrected_sky.rad mirror_scorrected.rad
rpict -t 120 -vth -vp 9.628 4.564 6.510 -vd -1.701 0.360 -0.007 -vu 0 0 1 -vh 180 -vv 180 -vs 0 -vl 0 -dp 1024 -ar 45 -ms 0.17 -ds .3 -dt .1 -dc .5 -dr 1 -sj .7 -st .1 -ab 4 -af RCP.amb -aa .2 -ad 400 -as 64 -av 0.01 0.01 0.01 -lr 6 -lw .002 -i -x 64 -y 64 -ps 1
SOFTWARE= RADIANCE 3.1.8 lastmod Thu Sep 17 20:49:56 PDT 1998 by droberts on escher"

On Fri, Mar 15, 2013 at 2:22 PM, Randolph M. Fritz (i) <[email protected]<mailto:randolph%[email protected]>> wrote:
On 2013-03-15 15:17:59 +0000, Shamim Javed said:

I tried to replicate your simulation image (using Radiance via Ecotect) but without success so far.

Where did you get your copy of Radiance? Do you know what version it is?

If not, "getinfo foo.hdr" will identify the version of Radiance that generated foo.hdr.

Randolph

_______________________________________________
Radiance-general mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-general

--
Randolph M. Fritz

_______________________________________________
Radiance-general mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-general

Hi Shamim,
I think others have addressed most of your questions. So I'll just help you
with the appearance of your image. There are two things to consider.

1) Some of your "gray" materials are actually quite red. From your
materials file:

void plastic Wall_gray
0
0
5 *0.867 0.384 0.122 * 0.00000 0.00000

void plastic Floor_Dark_Gray
0
0
5 *0.388 0.137 0.027* 0.00000 0.00000

The first three numbers following the 5 (on the fourth line) are the red,
green and blue reflectance value. Both of these "gray" materials have
higher red reflectance so they are actually red. To get rid of the red you
should balance the RGB reflectances.

2) you are creating an illuminance rendering instead of the typical
luminance rendering. An illuminance rendering is a rendering of the
illuminance at each point in the model and is really only useful for
analysis. A luminance rendering resembles what one would see in real life.
This is why you don't get the infinity box effect that I had in my
rendering and that you get in your scale model. But the illuminance
rendering is a handy way to understand the reflections on a mirror surface
without making your head spin.

To generate an illuminance rendering, the -i option is included in the
rpict command (your rpict currently uses the -i option).
To generate a luminance rendering remove the -i option.

Best,
Andy

···

On Sat, Mar 16, 2013 at 10:43 PM, Shamim Javed <[email protected]> wrote:

My radiance image has a distinct raddish tint unlike yours which came out
with much more natural colors. Any thoughts how I may improve thi