Initial implementation

Tests are missing because there is a weird sekizai error that I can't get
solved