Added library. Mostly working/barely tested.