works for 90% of cases