some cleanup, still needs more