Improve method macro