reorganise methods