added puma and asynchronous call