programming meth ods