First commit. Will do improvements on regular intervals.