Understanding basic chemistry through problem solving