Initial implementation for #16