Edited all of section 4 except for 4.3.3 based on peer-feedback.