ported sections 2.2 and 2.3