Initial implementation for #8