update interface to make more sense