reworked interfaces