Feature/initial implementaiton

@danielgarbien please have a look at the initial implementation