First real commit

More to come, the api will change.