half implemented #16 but...