using graceful