transferred from ebussola/common