reworked interface