Resolved #17, Worked on #10 - Still needs some fine-tuning, resolved #6, resolved #15, resolved #12