almost cleaned up