brute fore; need to inprove performance