fix leak
cleanup dynamic finders code and use case statement