works. cleaned up code a drop