Final pass for clean up, still needs debugging