cleaned up a lot