Much more fn cleanup