method design