move soft_delete to before_get callback
add eager loading