tidied interface