public void update (double elapsedTime) {
        Dimension bounds = myView.getGameSize(); //update in order to change size
        for (Spring s : mySprings) {
            s.update(elapsedTime, bounds);
        }
        for (Vector v: myForces){
        	v.update(elapsedTime, bounds, myMasses);
        }
        for (Mass m : myMasses) {
            m.update(elapsedTime, bounds);
        }
        myTimer2 = System.currentTimeMillis(); //"Cools down" the keyboard so one press will only result in one update.
		if (myTimer2-myTimer1 >= KEY_COOL_DOWN_TIME){
			myTimer1 = myTimer2;
			int keyEvent = myView.getLastKeyPressed();
	        if (keyEvent == CLEAR_ASSEMBLY){
	        	mySprings = new ArrayList<Spring>();
	        	myMasses = new ArrayList<Mass>();
	        }
	        if (keyEvent == NEW_ASSEMBLY){
	        	//TODO
	        }
	        if(myForcesToggleKeys.contains(keyEvent)){
	        	int keyEventIndex = myForcesToggleKeys.indexOf(keyEvent);
	        	myForces[keyEventIndex].setOppositeStatus();
	        }
	        if(myWallSizeKeys.contains(keyEvent)){ //duplicate with the above if statement??
	        	int keyEventIndex = myWallSizeKeys.indexOf(keyEvent);
	        	myView.setGameSize(myWallSizeAdaptors[keyEventIndex]);
	        }
		}
    }