rewrote functionality.  useful now.