The current implementation is cumbersome and does not provide sufficient feedback in case an error occurs