Improve method pointer and add more tests