done with def