This interface should give an idea of what i'm doing