http://www.teamdavinci.com/understanding_pneumatics.htm