clean this up a little