Initial implementation

/cc @alexschlessinger @rafecolton