better method match (still not the best way)