how to choose a framework