Update, added arguments and functionality; Possibly working.