cleaned up a little bit, more work to do