Initial implementation

cc @sh1mmer @twolfson