general cleanup + much faster