crud layer