improve interfaces - step 1