this is about it, needs cleanup, lots