Added reference implementation